__metaclass__ = type

class proxy:

    def __init__(self, item):
        self.item = item

    def __getattribute__(self, attr):
        if attr in ['item', 'set', '__call__', '__len__']:
            return object.__getattribute__(self, attr)
        return object.__getattribute__(self.item, attr)

    def __call__(self, value):
        return self.item(value)


    def __len__(self):
        return 1

    def set(self, item):
        self.item = item

